home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Macintosh Drag and Drop / Demo Applications / FinderDrag / FinderDrag.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-09  |  2.1 KB  |  76 lines  |  [TEXT/MPS ]

  1. /*
  2.  *  FinderDrag.h     Drag Manager sample
  3.  *  
  4.  *
  5.  *  based on SimpleDrag by Greg Robbins
  6.  *
  7.  */
  8. #include <QuickDraw.h>
  9. #include <StandardFile.h>
  10. #include <Fonts.h>
  11. #include <Menus.h>
  12. #include <Dialogs.h>
  13. #include <Events.h>
  14. #include <TextEdit.h>
  15. #include <OSEvents.h>
  16. #include <Desk.h>
  17. #include <AppleEvents.h>
  18. #include <GestaltEqu.h>
  19. #include <ToolUtils.h>
  20. #include <Processes.h>
  21. #include <Errors.h>
  22. #include <Drag.h>
  23. #include <Packages.h>
  24.  
  25. #include "Spaces.h"
  26.     
  27. // function prototypes
  28.  
  29. pascal OSErr DoAEOpenApplication(AppleEvent *, AppleEvent *, long refCon);
  30. pascal OSErr DoAEOpenDocuments(AppleEvent *, AppleEvent *, long refCon);
  31. pascal OSErr DoAEQuitApplication(AppleEvent *, AppleEvent *, long refCon);
  32. void DoHighLevelEvent(EventRecord *);
  33. OSErr InstallAppleEventHandlers(void);
  34. void DrawWindow(WindowPtr);
  35. OSErr SetWindowSpec(WindowPtr, FSSpecPtr);
  36. Boolean KeyIsDown(short);
  37. void ConcatPascalStrings(StringPtr, StringPtr);
  38. OSErr GetApplicationName(StringPtr);
  39. WindowPtr DoNewWindow(void);
  40. void DoCloseWindow(WindowPtr);
  41. void DoQuit(void);
  42. void DoAboutWindow(void);
  43. WindowPtr ReportErrorInWindow(WindowPtr, StringPtr, OSErr);
  44. WindowPtr ReportStringInWindow(WindowPtr, StringPtr);
  45. void CreateMenus(void);
  46. void DoMenuCommand(long);
  47. void ProcessEvents(void);
  48.  
  49.  
  50. // global data for my Drag Manager handlers
  51.  
  52. struct DragHandlerGlobals {
  53.     Boolean        acceptableDragFlag;
  54. //    Boolean        windowIsHilightedFlag;
  55.     short        hilitedSpace;
  56. };
  57. typedef struct DragHandlerGlobals DragHandlerGlobals, *DragHandlerGlobalsPtr;
  58.  
  59.  
  60.  
  61.  
  62. // routines to support dragging
  63.  
  64. OSErr AddPromiseHFSFlavor(DragReference drag, ItemReference item, FSSpecPtr spec);
  65. Boolean MouseIsInContentRgn(DragReference, WindowPtr);
  66. Boolean DragItemsAreAcceptable(DragReference);
  67. Boolean DragIsNotInSourceWindow(DragReference);
  68. pascal OSErr MyTrackingHandler(DragTrackingMessage, WindowPtr,
  69.     void *, DragReference);
  70. pascal OSErr MyReceiveHandler(WindowPtr, void *, DragReference);
  71. OSErr InstallDragHandlers(WindowPtr theWindow);
  72. void RemoveDragHandlers(WindowPtr);
  73. void OutlineRegion(RgnHandle);
  74. OSErr DoWindowContentDrag(WindowPtr, EventRecord *);
  75. OSErr CreateAETarget(ProcessSerialNumber *targetPSN, AEDesc *targetDesc);
  76.